The modernization of mobile computing devices has shifted towards viewing displays with touch-sensitive capabilities. User Interfaces for these devices—which may include smartphones, tablets, clamshells, among other devices—face a key challenge: minimizing power consumption rates while implementing the fastest response times to input (typically sensor input) possible. For example, to achieve lowest power consumption rates on the display may require multiple operations which can include: running the display at the lowest refresh rate (i.e. the longest time between scan-out on display); putting the application processor or graphics processing unit into the lowest available power sleep state; and/or running the touch sensor in the lowest possible scan rate to conserve power.
However, to achieve faster response times, the refresh time—the time it takes for the update to appear on the screen and for the light shining from the pixel to reach the eye is directly affected by the time it takes to refresh the screen—is a key factor, and decreasing the refresh rate typically results in a slower response time. In addition, in order to respond quickly (e.g., without encountering latency from the transition between sleep and wake power states) the processor(s) must be in an operating (non sleep) state, and faster performance states will ensure faster responses to the input. The touch sensor will also need to be operating in an increased scan rate to ensure every touch is processed and an appropriate response may be rendered.
Unfortunately, the goals of reducing power consumption rates and increasing responsiveness can often have conflicting implementations. The current state-of-the-art approach for example, is to run the touch scan and display at higher rates, and to introduce system sleep states during which the display is turned off and the system appears unresponsive. A popular implementation will, for example, try to collect sensor input samples encountered during each display refresh period in order to process updates together; process and coordinate the input with the presentation of the update on the next refresh period; and sleep the system in between the display refreshes. However, these implementations often are strictly limited to pre-programmed, regular refresh periods or intervals, and therefore updating of the display is limited to the frequency at which the display is refreshed by the system. New technologies have been introduced in which with variable and/or faster refresh rates are still restricted to updating at the regular refresh periods. As a result, this may cause inefficiencies in both power consumption—such as when less frequent refreshes may be suitable—and responsiveness—such as when the screen is not updated quickly enough to reflect actual input.